Estoy tratando de completar un formulario y enviarlo usando solo JS.
Por ejemplo, en esta página:
<form> <input id="yourname" type="text"></input><br/> <input id="yourfile" type="file"></input><br/> <input type="submit"></input><br/> </form>Estoy tratando de usar algo como esto para enviar el formulario:
document.getElementById('yourname').value = 'Paul'; document.getElementById('yourfile').value = 'c:\users\admin\desktop\myfile.jpg'; document.forms[0].submit();Sé que la segunda línea del script anterior generará una excepción. En cambio, podría hacer clic en la entrada:
document.getElementById('myfile').value = 'Paul';Pero esto abrirá una ventana para seleccionar el archivo, pero no puedo llenar esta ventana usando JS... ¿o sí?
¿Hay alguna solución para esto? ¿O es la única forma de seleccionar un archivo en un formulario web manualmente?
... no puedo llenar esta ventana usando JS... ¿o sí?
No, no puede completar ese formulario a través de JavaScript.
Si pudiera, permitiría que los sitios web tomen archivos de su computadora sin su conocimiento, lo que sería una gran violación de seguridad. Es por eso que hace que se abra una ventana en su escritorio: para que el usuario sepa que el sitio está tratando de descargar un archivo.
[¿Hay] alguna [solución alternativa] para esto o la única forma de seleccionar un archivo en un formulario web es manualmente?
No, no hay soluciones alternativas para esta función.
Como dije anteriormente, sería un gran problema de seguridad si pudiera hacer esto, por lo que la única forma de obtener un archivo de un usuario es usar la ventana emergente.